﻿using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Scripting.Hosting;
using IronPython.Hosting;

namespace 砍价算法
{
    /// <summary>
    /// 此算法的逻辑编写于Python文件BargainRobot.py中
    /// 然后由C#调用执行Python文件
    /// C#嵌入执行Python需要引用4个dll，已存放于项目根目录。
    /// </summary>
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("正在启动砍价机器人，请稍候...");
            ScriptRuntime runtime = Python.CreateRuntime();
            //指定要执行的Python文件的物理路径
            dynamic BargainRobot = runtime.UseFile(System.AppDomain.CurrentDomain.BaseDirectory + @"\BargainRobot.py");
            //指定砍价机器人允许的砍价次数
            dynamic myRobot = BargainRobot.Robot(5);
            //指定最低成交价、期望成交价、最高成交价。
            dynamic goods = BargainRobot.Item(10.0, 30.0, 100.0);
            myRobot.BeginBargain(goods);
            Console.WriteLine("启动完毕！");
            Console.WriteLine("你觉得什么价格可以?");
            while (true)
            {
                float price = float.Parse(Console.ReadLine());
                dynamic result = myRobot.Try(price);
                if (result[0] - price < 0.01)
                {
                    Console.WriteLine("好吧,成交了!");
                    break;
                }
                else
                {
                    Console.WriteLine("不行,至少要{0:0.00},{1}", result[0], result[1]);
                }
            }
            Console.ReadLine();
        }
    }
}
